import React, { Component } from 'react'

export default class Life extends Component {
    constructor(prop) {
        super(prop)
        console.log('我是实例期第一个生命周期---constructor')
        // this.state = {
        //     count: 100000
        // }
    }
    state = {
        count: 100
    }
    // 组件将要挂载
    componentWillMount() {
        console.log('我是实例期第二个生命周期---componentWillMount')
    }
    render() {
        const { count } = this.state
        const { title } = this.props
        console.log('我是实例期第三个生命周期---render', count)
        return (
            <div>
                我是生命周期 -- { title }
                <div>
                    <button onClick = {() => {
                        this.setState({
                            count: 888
                        })
                    }}>修改</button>
                </div> --- { count }
            </div>
        )
    }
    componentDidMount() {
        console.log('我是实例期第四个生命周期---componentDidMount')
    }


    // 组件应该更新么？
    shouldComponentUpdate() {
        return false
    }

    // 组件将要更新
    componentWillUpdate() {
        console.log(this.state.count)
    }

    // 组件更新完毕
    componentDidUpdate() {

    }

    // 组件  将要  接收  props
    componentWillReceiveProps() {

    }

    // 
    componentWillUnmount() {
        console.log('组件要销毁了')
    }
}
